package org.ykhl.service;

import org.ykhl.model.RetInfo;

public interface ConvertService {

	/**
	 * json 转换成xml
	 * @param jsonString
	 * @return
	 */
	
	public String jsonToxml(String jsonString);
	/**
	 * xml 转换成json
	 * @param xmlString
	 * @return
	 */

	public String xmlTojson(String xmlString);
	
	/**
	 * 根据传入的源文件，替换模板中的值，输出为json对象
	 * @param contentxml 源文件xml(节点值)
	 * @param templetContent(如：test.xsl文件里的内容)
	 * @return
	 */

	public String templetTojson(String contentxml, String templetContent) ;
		
	/**
	 * 根据传入的源文件，替换模板中的值，输出为xml对象
	 * @param contentxml 源文件xml(节点值)
	 * @param templetContent(如：test.xsl文件里的内容)
	 * @return
	 */

	public String templetToxml(String contentxml, String templetContent);
					
	/**
	 * 把xml 文件中的CDATA的文件内容进行根据模板的转换，转换后输出为xml
	 * @param contentxml xml内容
	 * @param templetContent 模板内容
	 * @param key (加密的key)
	 * @return
	 */
	public RetInfo cdataTempToxml(String contentxml, String templetContent, String key);
	

	/**
	 * 把xml 文件中的CDATA的文件内容进行根据模板的转换，然后替换到原先的xml的CDATA中，然后输出xml
	 * @param contentxml
	 * @param templetContent
	 * @param key (加密的key)
	 * @return
	 */
	public RetInfo cdataTempTocdataxml(String contentxml, String templetContent, String key);
	/**
	 * 把xml 文件中的CDATA的文件内容进行根据模板的转换，转换后输出为xml
	 * @param contentxml xml内容
	 * @param templetContent 模板内容
	 * @return
	 */
	public String cdataTempToxml(String contentxml, String templetContent);
	
	
	/**
	 *把xml 文件中的CDATA的文件内容进行根据模板的转换，然后替换到原先的xml的CDATA中，然后输出xml
	 * @param contentxml xml内容
	 * @param templetContent 模板内容
	 * @return
	 */
	public String cdataTempTocdataxml(String contentxml, String templetContent);
	
	/**
	 * 邵逸夫规则转换 
	{"result":"-1","tradeCode":null,"hospitalCode":null,"tradeTime":"2016-07-11 11:36:39","message":"","data":null}
	 */
	public RetInfo shaoYiFuTransforme(String contentjson, String templetContent, String key);
	
	/**
	 * 邵逸夫医院临床数据中心病历档案数据服务中心转换
	 */
	public RetInfo lCXmlTempToxml(String contentxml, String templetContent, String key);
	
	
	/**
	 * 邵逸夫医院万马数据服务中心转换
	 */
	public RetInfo wMJsonTempToJson(String contentjson, String templetContent, String key);
	/**
	 * 默认的转换方法，实现原输入，返回原输入结果，不进行任何的规则转换
	 * @param content
	 * @param templetContent
	 * @param key
	 * @return
	 */
	
	public RetInfo defaultConversion(String content, String templetContent, String key);
}
